【红色警报】“比特币勒索攻击”快速排查攻略,文末附脚本
故障回顾:
【红色警报】近期Oracle数据库遭受比特币勒索攻击原因揭秘和预防(一)
在上一篇文章中,我们分析了Oracle安全比特币勒索问题的根本原因,在揭示了其实并不很神秘的“黑客”面纱之后,我们更应该做的是深思——为何这样的“勒索”得以成功?如何避免此类的安全问题?如何提高数据库的安全可靠性?
让我们来再次回顾一下这次安全风险的关键点:
1、某些用户下载了来源不明的数据库管理工具,导致数据库被“感染”;
2、很多用户在通过PL/SQL Developer工具登录数据库时发现该问题,数据库应用弹出"锁死"提示,并且威胁说需要向黑客发送5个比特币方可获得解锁;
3、在“黑客”嵌入的代码中,存在大量V$DATABASE、sys.tab$、SYS.DBMS_BACKUP_RESTORE、'alter system checkpoin' 等高权限用户才能访问的对象或执行的操作;
总结一下:
当我们下载了来历不明的数据库管理/访问工具,以高权限(DBA或SYSDBA)用户登录了生产数据库,duang,“黑客”得逞!你的数据库弹出如下的提示,自此你的数据库无法登录,而更严重的后果,数据库中的表很可能被truncate掉!!!
看到这里,我们会发现前面提到的第一个问题已经清楚的得到了答案。那么第二个问题的答案也就呼之欲出了,我们应该怎么避免此类问题呢?
1、如果用户使用的都是正版的软件,而不是从互联网上下载盗版的PL/SQL Developer 工具(尤其是各种绿色版、破解版),那么根本不会中招——很明显,不正规的软件来源是被“黑”的入口,就如同那些不清楚来源的链接一般,千万莫点。
再次强调:盗版软件害人!但是在一个开发环境中,可能无法杜绝来源广泛的各种工具,怎么破?继续向下看。
2、如果用户仅仅使用普通用户登录,那么这些高权限的操作根本无法执行,那些系统对象根本无法访问,那么黑客也就无法种下这颗“恶魔的种子”。如果系统进行了严格的权限控制,即使登录了数据库,也会被防止进行恶意操作
安全要点1:权限的细化与管控是防范高危动作的基本措施!禁止远程 DDL 操作,将 DDL 操作限制在服务器本地执行,可以有效防止误操作和渗透损毁。在很多注重安全的企业中,这一条是被严格执行的。
3、如果用户登陆的仅仅是测试库,而不是生产库,那么即使出现故障,也不会影响业务运行,丢失生产数据。
安全要点2:生产库的登录必须严格控制,从制度到人,严防死守!
安全要点3:任何可疑的登录必须追溯,摒弃疏漏点!
在总结了上面这些安全要点之后,现在我们可以总结一下如何提高数据库的安全可靠性,减少安全死角了,这也是云和恩墨多位技术专家总结了大量金融、电信等大型行业客户服务心得,得到的经验之谈。云和恩墨的数据安全服务,包括安全评估、安全增强,可以帮助用户提升数据库安全。
通常来说,数据库安全提升,需要从以下几个方面入手:
安全维度 | 安全策略 |
运维安全管理制度与管理 | 登录人员合法性管理 维护人员操作风险性管理 变更、发布管理 |
权限安全检查与管理策略 | 回收高权限,特别是DBA权限 细化用户权限 检查不合理的默认授权 |
口令安全检查与管理策略 | 涉及操作系统、数据库、用户 口令安全管理策略 账号状态变更管理 |
访问安全性检查与策略 | 确认4W1H ,即谁在什么时间在何位置如何访问了什么数据,找出可疑、不合理的用户、登录、访问、操作。 |
数据的加密保护 | 在文件、备份、网络传输多层进行保护,防止拖库、数据被窃取、篡改行为的发生。 |
数据库软件环境的检查 | 数据库软件版本安全评估 Oracle官方安全补丁的修正实施 |
访问环境与脚本的审核 | 登录数据库的软件合法性 登录数据库的软件环境脚本合法性 数据库中操作脚本的安全性 |
安全审计 | 合理设置数据库、触发器、应用软件多层审计 |
数据保护策略 | 备份策略的完整性 灾备架构的健壮性 |
1、 对于任何一个业务系统而言,安全都是最基本的要求。没有安全性,连续性和高效性都是反作用力。
2、 业务集中化、商政务移动化等新架构新技术的应用,放大了安全风险带来的危害。
3、 安全无止境。不安全因素没有阶段性,因此,安全防护就是一个长期持续行为,并需要化解在日常工作中。
围绕着上面这八个安全维度,云和恩墨提供了全面的数据库安全增强解决方案,可以就某一子项进行安全增强,也可为客户提供整体的安全加固方案。
当然,如果您希望快速了解您企业的数据库是否存在众多的安全漏洞或者安全风险,推荐您自助使用云和恩墨的免费自动化巡检工具:Bethune(白求恩),该工具为基于云平台的免费工具,在帮您检查数据库基本情况的同时,也内置安全方面的检查,通过对数据库安全补丁、访问来源、访问工具等维度的分析,帮助用户快速梳理数据库安全情况,让您掌握第一手的数据库安全咨询。别犹豫,去 https://bethune.enmotech.com 看看,不收钱。
为了让大家快速排查数据库是否遭遇攻击,云和恩墨专家提供了自动检测脚本。助你快速排查处理,远离忧患!
下载地址:https://pan.baidu.com/s/1pK7SEr5(原文链接直达)
注意:非 Windows 服务器,使用 oracle 用户运行
perl checkBitAttack.pl
当然,如果您的数据库已经遭受攻击和数据损失,您也不要担心,立刻紧急联系云和恩墨的服务团队,我们将帮助您处理数据修复事宜。云和恩墨久经考验的ODU产品,可以在数据丢失后最大限度的恢复数据。
最后,很多朋友都很关心,如何做才能够彻底防范这类风险,我想你可以从以下16条建议中找到答案:
附:数据库安全防范16条军规
1、备份重于一切
我曾经在总结的DBA四大守则的第一条就指出,『备份重于一切』,有了有效的备份,即使遭遇灾难,也可以从容应对,对于重要的生产环境,适当建立备库进行数据保护,查询分担,也会减少生产库的风险;
唯一会让DBA们从梦中惊醒的就是:没有备份! 所以对于数据库运维来说,第一重要的是做好备份!有备方能无患!
2、严格管控权限
过度授权即是为数据库埋下安全隐患,在进行用户授权时一定要遵循最小权限授予原则,避免因为过度授权而带来的安全风险。本次安全风险,如果用户只具备最低权限,如不具备DDL权限,那么也不会遭到风险;
3、明确用户职责
应当明确不同的数据库用户能够用于的工作范围,应当使用普通用户身份的,就绝对不应该使用DBA的用户身份,只有职权相称,才能够避免错误,降低风险。 即便是拥有管理员职责的用户,也应当遵循以不同身份执行不同任务的习惯,比如SYS和SYSTEM用户的使用就应当进行区分和界定;
4、密码策略强化
毫无疑问,数据库用户应当使用强化的密码规则,确保弱口令带来的安全风险,很多数据泄露问题来自弱口令攻击和提权;
5、限制登录工具
明确限制不同工具的使用场景,明确规定工具的准确来源,或者通过堡垒机等来限制数据库访问。对于工具也可以做出明确规则和限制,如限制仅能通过SQL Developer访问生产,PL/SQL Developer工具仅能访问测试环境,以减少安全风险甚至误操作风险;
6、禁止远程DDL
可以限制DDL操作仅能在数据库服务器本地进行,禁止远程连接执行DDL操作,这一手段在很多公司被严格执行,如果具备这一规则,此次的事故可以被直接屏蔽掉;
7、使用绑定变量
在开发过程中,严格使用绑定变量,绑定变量可以防范SQL注入攻击,减少数据库安全风险;这次安全事故,很多用户开始猜测是SQL注入,走了很多分析上的弯路;
8、监控监听日志
监听日志记录了数据库访问的来源、程序等信息,包括恶意扫描,密码尝试等,一定要重视监听日志的作用,并对其进行分析和监控,以清楚的汇制数据库访问图谱;云和恩墨一直帮助用户通过监听日志分析来揭示风险,白求恩平台( https://bethune.enmotech.com )为用户免费提供这一分析纬度的预警;
9、数据网络隔离
数据库的网络环境应该一直隐藏在最后端,避免将数据库置于直接的访问连接之下,由此可以减少数据库的访问风险;
10、测试和生产隔离
互通就意味着同时可以访问,也就可能带来很多意想不到的安全风险,企业应当将测试环境和生产环境部署于不可互通,或者不可同时访问的网络环境中,避免因为错误连接而发生的数据库灾难。 分离部署一方面可以降低误操作的可能性,也可以屏蔽一些无关的访问可能,从而从网络链路上保证数据安全;
11、密码差异设置
有些测试环境或者非产品环境是利用产品环境恢复得到的,DBA在建立了测试环境后,就没有修改数据库用户的登录密码;经常性的,DBA也习惯在所有环境中设置通用的密码;这些习惯为系统带来了很多风险和不确定性。 我们建议用户在不同环境中采用不同的密码设置,这是因为一方面产品环境和测试环境面对的访问用户不同,密码设置相同则意味着产品环境的安全性完全得不到保障;另一方面,DBA登录到不同的数据库需要使用不同的密码,这进一步减低了DBA在错误的环境下执行命令的可能性。
12、重要数据加密
很多重要的数据,需要加密存储,最典型的就是用户和密码信息,大量的泄密事件本质上是因为缺乏最基本的加密防范,对重要数据实施一定的安全防护加密,是应当予以适时考虑的安全方面之一;
13、适时的软件升级
这里的软件指数据库软件,尤其是当Oracle已经发布了安全补丁,已知的安全漏洞被黑客利用,则更可能对数据库产生致命的伤害;
14、防范内部风险
不可否认,绝大部分安全问题都来自于企业内部,来自最紧密、最轻易的接触和访问,企业的人员变动,岗位变更,都可能导致数据安全问题的出现,单存依靠对管理员的信任不足以保障数据安全,必须通过规章、制度与规 范的约束才能够规避安全风险。
很多企业为了便利而舍弃规范、规章或者安全限制是得不偿失的做法。安全防范应当从内部做起,从限制约束自我做起,当最紧密相关的访问都遵从守则,那么系统的安全性就能够获得大幅度的提升。
15、树立安全意识
安全问题最大的敌人是侥幸,很多企业认为安全问题概率极低,不会落到自己的环境中,所以对于安全不做必要的投入,造成了安全疏忽。所以安全问题最大的敌人是我们自己,安全需要一点一滴的加强,逐步完善,云和恩墨一直帮助核心客户进行全面的安全评估,制定安全方案,守护数据安全。
16、开始安全审计
以Oracle数据库为例,数据库已经提供了很多安全防范的手段和方法,我们建议用户适当展开安全防范措施,开启部分任务审计,定期分析数据库风险,由此逐步完善数据库安全。
请关注云和恩墨公司微信号,我们将随时更新这次安全事故的其他信息。
也可以加入『云和恩墨大讲堂』微信群参与讨论:
如何加入云和恩墨大讲堂微信群